package service;

import pojo.Admin;
import pojo.Menu;
import pojo.Role;
import util.PageBean;

import java.util.List;

/**
 * service层的后台用户接口
 * @author 叶军军
 */
public interface AdminService {

    /**
     * 后台登录功能
     * @param account   管理员账户
     * @param password  管理员密码
     * @return   admin对象
     */
    Admin login(String account, String password);

    /**
     * 根据id查询管理员信息
     * @param id   管理员id
     * @return   admin对象
     */
    Admin queryAdmin(int id);

    /**
     * 根据管理员id查询管理员角色对象
     * @param id   管理员id
     * @return
     */
    Role queryOneRole(int id);

    /**
     * 根据用户ID查询菜单
     * @param id
     * @return
     */
    List<Menu> roolMenu(int id);

    /**
     * 分页功能
     * @param pb  分页工具的实体类对象
     * @param ename 管理员名称
     * @param account  管理员账户
     * @return  分页工具实体类
     */
    PageBean adminPageList(PageBean pb, String ename, String account);

    /**
     * 统计管理员总数
     * @param ename 管理员名称
     * @param account 管理员账户
     * @return
     */
    int count(String ename, String account);

    /**
     * 新增管理员
     * @param admin  管理员对象
     * @return  int值
     */
    int inseAdmin(Admin admin);

    /**
     * 根据管理员账户查找管理员id
     * @return   是否操作成功的int值
     */
    int queryAdIdByAccount(String account);

    /**
     * 修改管理员信息
     * @param admin  管理员对象
     * @return  是否操作成功的int值
     */
    int modifAdmin(Admin admin);

    /**
     * 删除管理员
     * @param id  管理员id
     * @return   是否操作成功的int值
     */
    int deleAdmin(int id);

    /**
     * 修改管理员密码
     * @param password
     * @param id
     * @return
     */
    int modifPassword(String password,int id);
}
